home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUITabControlProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-07-21  |  5.3 KB  |  201 lines

  1. /************************************************************************
  2.     filename:     CEGUITabControlProperties.h
  3.     created:    08/08/2004
  4.     author:        Steve Streeting
  5.     
  6.     purpose:    Interface to TabControl property classes
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUITabControlProperties_h_
  27. #define _CEGUITabControlProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of TabControlProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the Listbox class
  40. */
  41. namespace TabControlProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the tab height setting of the tab control.
  46.  
  47.     \par Usage:
  48.         - Name: TabHeight
  49.         - Format: "[float]"
  50.  
  51. */
  52. class TabHeight : public Property
  53. {
  54. public:
  55.     TabHeight() : Property(
  56.         "TabHeight",
  57.         "Property to get/set the height of the tabs.",
  58.         "")
  59.     {}
  60.  
  61.     String    get(const PropertyReceiver* receiver) const;
  62.     void    set(PropertyReceiver* receiver, const String& value);
  63.  
  64.     // default depends upon current metrics mode
  65.     bool    isDefault(const PropertyReceiver* receiver) const;
  66.     String    getDefault(const PropertyReceiver* receiver) const;
  67. };
  68.  
  69. /*!
  70. \brief
  71. Property to access the absolute tab height setting of the tab control.
  72.  
  73. \par Usage:
  74. - Name: AbsoluteTabHeight
  75. - Format: "[float]"
  76.  
  77. */
  78. class AbsoluteTabHeight : public Property
  79. {
  80. public:
  81.     AbsoluteTabHeight() : Property(
  82.         "AbsoluteTabHeight",
  83.         "Property to get/set the absolute height of the tabs.",
  84.         "", false)
  85.     {}
  86.  
  87.     String    get(const PropertyReceiver* receiver) const;
  88.     void    set(PropertyReceiver* receiver, const String& value);
  89.  
  90.     // default depends upon size of parent
  91.     bool    isDefault(const PropertyReceiver* receiver) const;
  92.     String    getDefault(const PropertyReceiver* receiver) const;
  93. };
  94.  
  95. /*!
  96. \brief
  97. Property to access the relative tab height setting of the tab control.
  98.  
  99. \par Usage:
  100. - Name: RelativeTabHeight
  101. - Format: "[float]"
  102.  
  103. */
  104. class RelativeTabHeight : public Property
  105. {
  106. public:
  107.     RelativeTabHeight() : Property(
  108.         "RelativeTabHeight",
  109.         "Property to get/set the relative height of the tabs.",
  110.         "0.050000", false)
  111.     {}
  112.  
  113.     String    get(const PropertyReceiver* receiver) const;
  114.     void    set(PropertyReceiver* receiver, const String& value);
  115. };
  116.  
  117. /*!
  118. \brief
  119. Property to access the tab text padding setting of the tab control.
  120.  
  121. \par Usage:
  122. - Name: TabTextPadding
  123. - Format: "[float]"
  124.  
  125. */
  126. class TabTextPadding : public Property
  127. {
  128. public:
  129.     TabTextPadding() : Property(
  130.         "TabTextPadding", 
  131.         "Property to get/set the padding either side of the tab buttons.",
  132.         "")
  133.     {}
  134.  
  135.     String    get(const PropertyReceiver* receiver) const;
  136.     void    set(PropertyReceiver* receiver, const String& value);
  137.  
  138.     // default depends upon current metrics mode
  139.     bool    isDefault(const PropertyReceiver* receiver) const;
  140.     String    getDefault(const PropertyReceiver* receiver) const;
  141. };
  142.  
  143. /*!
  144. \brief
  145. Property to access the absolute tab text padding setting of the tab control.
  146.  
  147. \par Usage:
  148. - Name: AbsoluteTabTextPadding
  149. - Format: "[float]"
  150.  
  151. */
  152. class AbsoluteTabTextPadding : public Property
  153. {
  154. public:
  155.     AbsoluteTabTextPadding() : Property(
  156.         "AbsoluteTabTextPadding",
  157.         "Property to get/set the absolute padding either side of the tab buttons.",
  158.         "5", false)
  159.     {}
  160.  
  161.     String    get(const PropertyReceiver* receiver) const;
  162.     void    set(PropertyReceiver* receiver, const String& value);
  163. };
  164.  
  165. /*!
  166. \brief
  167. Property to access the relative tab text padding setting of the tab control.
  168.  
  169. \par Usage:
  170. - Name: RelativeTabTextPadding
  171. - Format: "[float]"
  172.  
  173. */
  174. class RelativeTabTextPadding : public Property
  175. {
  176. public:
  177.     RelativeTabTextPadding() : Property(
  178.         "RelativeTabTextPadding",
  179.         "Property to get/set the relative padding either side of the tab buttons.",
  180.         "", false)
  181.     {}
  182.  
  183.     String    get(const PropertyReceiver* receiver) const;
  184.     void    set(PropertyReceiver* receiver, const String& value);
  185.  
  186.     // default depends upon size of parent
  187.     bool    isDefault(const PropertyReceiver* receiver) const;
  188.     String    getDefault(const PropertyReceiver* receiver) const;
  189. };
  190.  
  191.  
  192.  
  193.  
  194.  
  195. } // End of  TabControlProperties namespace section
  196.  
  197. } // End of  CEGUI namespace section
  198.  
  199.  
  200. #endif    // end of guard _CEGUIListboxProperties_h_
  201.